iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 3
0
自我挑戰組

C-Programming系列 第 3

C-Programming Day03

  • 分享至 

  • xImage
  •  

註解

C 中如果想要增加一些註解來解釋某段程式或是Function 如何使用

單行註解

## 這是單行註解
/**
這裡是多行註解
**/

而這些都不會影響程式的運行

讓後人承接的時候可以更快地了解程式碼的運作

變數

C語言中所有的變數都必須在使用前預先宣告

基本型態

  • char - 一個字符

  • void - 空

  • int - 整數 (佔用4bite, 所以只能顯示 2147483647 ~ -2147483648)

    • 格式控制

      • %d - 輸出有號整數

      • %o - 出無號八進位整數

      • %x - 輸出無號十六進位整數(小寫)

      • %X - 輸出無號十六進位整數(大寫)

  • float - 單精度浮點數(有小數點的數, 佔用記憶體 4 bytes)

    • 通常小數點後六位之後的問算都可能會有誤差

    • 格式控制

      • %f - 輸出有號的浮點數

      • %e - 科學記號方式顯示(小寫)

      • %E - 科學記號方式顯示(大寫)

  • double - 雙精度浮點數(有小數點的數, 8 bytes)

    • 格式控制

      • %lf - 輸出有號的浮點數
  • array - 陣列

char

資料型態 char 佔有 1 byte

其 範圍 為 -128 至 127。

其 字元 常數 以 兩個 單引號 ' ' 包含之。

例 '0'、 '1'、'A'、 'B'、 'Z'、 'a'、 'b'、 'z'、 ' '、 '\x41'、 '\141' 等。

#include <stdio.h>

int main()
{
  char word = 'A';
  printf("%c", word);
  return 0;
}

array

陣列是一個有順序的集合

一個字串對 C 而言

是一個 char 的集合

#include <stdio.h>

int main(){
  char str[11] = 'HelloWorld';
  printf('%s', str);
  return 0;
}

float and double

#include <stdio.h>

int main()
{
  float num = 1.2233;
  float num2 = 2.000;
  double double_num = 34.4342322332;

  printf("%f\n", num);
  printf("%f\n", num2);
  printf("%f\n", num2);
  printf("%lf", double_num);
  return 0;
}

short

我們有提到 int 佔用了 4 bytes

不過假如要儲存的數字沒有那麼大

用 int 儲存,真的可謂殺雞用牛刀

short 中文稱為「短的」

是一個將型態佔用空間砍半的修飾詞

只能用在 int 上

long

有辦法縮小就有辦法拉長

如果 4 bytes 不夠你用

那你可以試試看 8 bytes 的 long long int

long 中文稱為「長的」

是一個將型態佔用空間變成翻倍的修飾詞

可以用在 intdoublechar

unsigned

有時候我們不需要正負號

當我們可以另外處理正負號的時候

我們便可以使用 unsigned 來取消正負號

unsigned 中文稱為「無號的」

是一個將有號型態變成無號型態的修飾詞

通常會用來使該型態能儲存的值變成兩倍

只能用在 intchar

控制字元

修飾子 效果 範例
- 向左對齊 %-d
+ 顯示正負號 %+d
(空白) 當正數顯示空白,負數顯示負號 % d
(數字) 最小固定顯示幾個字 %3d
0 在最小固定欄位的字元前加上0,不能和 - 一起使用。 %06d
.(數字) 小數點之後要顯示幾個字 %.3d

攝氏溫度轉華氏溫度 Example

#include <stdio.h>

int main()
{
  int fahr, celsuis;
  int lower, upper, step;

  lower = 0;
  upper = 300;
  step = 20;
  fahr = lower;

  while (fahr <= upper)
  {
    celsuis = 5 * (fahr - 32) / 9;
    printf("%d\t%d\n", fahr, celsuis);
    fahr = fahr + step;
  }
  return 0;
}
``

上一篇
C-Programming Day02
下一篇
C-Programming - Day04
系列文
C-Programming9
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言